{
 "cells": [
  {
   "cell_type": "code",
   "outputs": [],
   "source": [
    "\"\"\"\n",
    "验证对称窗和周期窗用于overlap_add重建的区别\n",
    "结论：周期窗能够完美重建，对称窗不能完美重建\n",
    "\"\"\"\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.signal as signal\n",
    "# 不用科学计数法显示\n",
    "np.set_printoptions(suppress=True)\n",
    "window_len = 512  # 窗长\n",
    "frame_len = 256  # 帧移"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-05-04T16:11:38.563036100Z",
     "start_time": "2024-05-04T16:11:38.536375900Z"
    }
   },
   "execution_count": 4
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2024-05-04T16:11:38.591589300Z",
     "start_time": "2024-05-04T16:11:38.562034100Z"
    }
   },
   "outputs": [],
   "source": [
    "analysis_window_sycle = signal.windows.hann(window_len, sym=False)  # 最大值在中间，可以完美重建\n",
    "analysis_window_sym = signal.windows.hann(window_len, sym=True)     # 最大值在两边，\n",
    "synthesis_window = np.zeros(window_len)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 1500x500 with 2 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABMcAAAHDCAYAAAAgOn3mAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACQM0lEQVR4nOzdeVxU9f7H8ffMsMviAoIiAq5oKu6EuzeT1LxpVrZqlJWl9VPurZtlZqttWuZStpimtmu261UzV9zFLHdRQRDcQZF15vz+QOfeuS5JiYfl9Xw8zuMRh8858z6DydfPfM/3WAzDMAQAAAAAAABUQlazAwAAAAAAAABmoTkGAAAAAACASovmGAAAAAAAACotmmMAAAAAAACotGiOAQAAAAAAoNKiOQYAAAAAAIBKi+YYAAAAAAAAKi2aYwAAAAAAAKi0aI4BAAAAAACg0qI5BgCSxo4dK4vFUubPCQAAgIu79957FRERUebPCaBsoTkGAAAAAACASovmGABIGj16tHJzc82OAQAAgL/g/fff186dO82OAaCccTM7AACUBW5ubnJz469EAACA8szd3d3sCADKIWaOAZAkHThwQI888ogaN24sb29v1ahRQ7feeqv279/vUldYWKjnnntODRs2lJeXl2rUqKFOnTpp0aJFkqSPPvpIFotFmzdvPu81Xn75ZdlsNqWlpUmSunXrpmbNmunXX39V165d5ePjowYNGuirr76SJC1btkwxMTHy9vZW48aNtXjx4kteg2EYCgwMVEJCgnOfw+FQ1apVZbPZdPLkSef+V199VW5ubjp9+rSkC68PZrFYNHz4cM2fP1/NmjWTp6enrrnmGi1YsOC81165cqXatWsnLy8v1a9fX9OmTbtgxqKiIr3wwguqX7++PD09FRERoaeeekr5+fnOmoSEBNWoUUOGYTj3Pfroo7JYLHr77bed+zIzM2WxWPTOO+9c8n0BAAD4X6dOndKIESMUEREhT09P1axZU9dff702bdokSXr22Wfl7u6uI0eOnHfsgw8+qKpVqyovL0+SFBERoRtvvFG//PKL2rZtK29vbzVv3ly//PKLJGnevHlq3ry5vLy81KZNmwuOE//byZMnZbPZXMY9R48eldVqPW+M9PDDDyskJMT59f+uD7Z//35ZLBa98cYbeu+995xjsHbt2mn9+vXnvfa5cZ+Xl5eaNWumr7/++oIZc3Jy9I9//ENhYWHy9PRU48aN9cYbb7hku/nmm9W6dWuX4/r27SuLxaJvv/3WuW/t2rWyWCz66aefLvm+ACg9NMcASJLWr1+v1atX6/bbb9fbb7+toUOHasmSJerWrZvOnDnjrBs7dqyee+45de/eXZMnT9bTTz+tunXrOgdSt9xyi7y9vTVnzpzzXmPOnDnq1q2bQkNDnftOnDihG2+8UTExMXrttdfk6emp22+/XZ9//rluv/129e7dW6+88opycnJ0yy236NSpUxe9BovFoo4dO2r58uXOfb/++quysrIkSatWrXLuX7FihVq1aiVfX99Lvi8rV67UI488ottvv12vvfaa8vLyNGDAAB07dsxZs3XrVvXs2VOHDx/W2LFjFR8fr2efffaCg6khQ4ZozJgxat26td5880117dpV48aN0+233+6s6dy5s44fP67ff//dJa/VatWKFStc9klSly5dLnkNAAAA/2vo0KF65513NGDAAE2dOlX//Oc/5e3tre3bt0uS7rnnHhUVFenzzz93Oa6goEBfffWVBgwYIC8vL+f+PXv26M4771Tfvn01btw4nThxQn379tWcOXM0cuRI3X333Xruuee0d+9e3XbbbXI4HBfNVrVqVTVr1sxlTLdy5UpZLBYdP35c27Ztc+5fsWKFOnfu/IfX+8knn+j111/XQw89pBdffFH79+/XzTffrMLCQmfNv//9bw0YMEAWi0Xjxo1Tv379FB8frw0bNricyzAM/f3vf9ebb76pG264QRMmTFDjxo31+OOPu3xI27lzZ23ZskXZ2dnO41atWnXBMZ3ValXHjh3/8DoAlBIDAAzDOHPmzHn7EhMTDUnGxx9/7NwXHR1t9OnT55LnuuOOO4zatWsbdrvduW/Tpk2GJOOjjz5y7uvatashyfjkk0+c+3bs2GFIMqxWq7FmzRrn/oULF553/IW8/vrrhs1mM7Kzsw3DMIy3337bCA8PN9q3b2/861//MgzDMOx2u1G1alVj5MiRzuOeffZZ43//SpRkeHh4GHv27HHu27JliyHJmDRpknNfv379DC8vL+PAgQPOfdu2bTNsNpvLOZOSkgxJxpAhQ1xe55///Kchyfj5558NwzCMw4cPG5KMqVOnGoZhGCdPnjSsVqtx6623GsHBwc7jHnvsMaN69eqGw+G45HsCAADw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isNut7ssmyFJNWvWVO3atc8b0/Xq1UuBgYF69dVXtWzZsgvOGistnTt31v79+/X55587x25Wq1UdOnTQhAkTVFhYeMXGdLVq1VLLli01c+ZMl/dm0aJFLk/HlIrHdHa7XZMnT3bZ/+abb8pisahXr17OfTExMXJ3d9err77q/LD23LWtWbNGy5YtY9YYUAbwryoAkqQbb7xRs2bNUkBAgJo2barExEQtXrxYNWrUcKlr2rSpunXrpjZt2qh69erasGGDvvrqKw0fPvy8cw4aNEj//Oc/JemqDqRiY2Pl5uamnTt36sEHH3Tu79Kli9555x1JV3bq+nPPPacFCxaoc+fOeuSRR1RUVKRJkybpmmuucVmPLTo6WoMHD9Z7772nkydPqmvXrlq3bp1mzpypfv36qXv37i7n7dy5sz777DM1b97cuS5G69atVaVKFe3atUt33nnnFbsGAABQeZw6dUp16tTRLbfcoujoaPn6+mrx4sVav369xo8f71Lr7u6u22+/XZMnT5bNZtMdd9xx1XKeG6/t3LlTL7/8snN/ly5d9NNPP8nT01Pt2rW7Yq83btw49enTR506ddJ9992n48ePO8d0p0+fdtb17dtX3bt319NPP639+/crOjpa//73v/XNN99oxIgRLg9z8vHxUZs2bbRmzRr17dvX+aFtly5dlJOTo5ycHJpjQBnAzDEAkqSJEydq0KBBmjNnjv7xj3/o0KFDWrx4sXx9fV3qHnvsMe3fv1/jxo3TY489pmXLlunFF188byAlSXfddZdsNpsaNWqk9u3bX61LUZUqVdSqVStJrovunxt4hIWFuUx3/6tatGihhQsXKigoSGPGjNH06dP13HPPqX///ufVfvDBB3ruuee0fv16jRgxQj///LNGjRqlzz777Lzac3n/+xrc3NycT4JiIAUAAP4MHx8fPfLII0pKStKzzz6rkSNHaufOnZo6dep5T9WWij/wlKTrrrtOtWrVumo5GzdurJo1a0q68Jiuffv28vT0vGKvd8MNN+jLL7+U3W7XqFGjNG/ePH300Udq27atS53VatW3336rESNG6Pvvv9eIESO0bds2vf766847Av7bhcZ0ISEhzoc0MaYDzGcxSnsFQgCV1tGjR1WrVi2NGTNGzzzzjNlxAAAA8Cds2bJFLVu21Mcff6x77rnH7DgAcMUxcwxAqZkx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/1wJCQl69tlntWnTJkVHRysuLk6HDx++YP3o0aM1bdo0TZo0Sdu2bdPQoUPVv39/bd682VkzZMgQLVq0SLNmzdLWrVvVs2dP9ejRQ2lpaZIkwzDUr18/JScn65tvvtHmzZsVHh6uHj16KCcnx+X1HnjgAR06dMi5vfbaa6X3ZpQh52aPzVl7QHmFdpPTAABQMjszTmnF7qOyWqT4jhFmxylVNMcAAADKuQkTJuiBBx5QfHy8mjZtqnfffVc+Pj6aPn36BetnzZqlp556Sr1791a9evX08MMPq3fv3ho/frwkKTc3V3PnztVrr72mLl26qEGDBho7dqwaNGigd955R5K0e/durVmzRu+8847atWunxo0b65133lFubq4+/fRTl9fz8fFRSEiIc/P39y/dN6SMuL5psEKreuvEmULN35xmdhwAAErkw5XJkqQbmoUorLqPyWlKF80xAACAcqygoEAbN25Ujx49nPusVqt69OihxMTECx6Tn58vLy8vl33e3t5auXKlJKmoqEh2u/2SNfn5+ZLkUmO1WuXp6emsOWfOnDkKDAxUs2bNNGrUKJ05c+ZPXm354mazOj9pn75qnwzDMDcQAACX6cipfM3fnC5Jur9TPZPTlD6aYwAAAOXY0aNHZbfbFRzs+mj14OBgZWRkXPCYuLg4TZgwQbt375bD4dCiRYs0b948HTp0SJLk5+en2NhYvfDCC0pPT5fdbtfs2bOVmJjorImKilLdunU1atQonThxQgUFBXr11Vd18OBBZ40k3XnnnZo9e7aWLl2qUaNGadasWbr77rsveU35+fnKzs522cqr29qFqYqHTbsyT2vF7qNmxwEA4LLMXnNABXaHWtWtqjbh1cyOU+pojgEAAFQyEydOVMOGDRUVFSUPDw8NHz5c8fHxslr/MzScNWuWDMNQaGioPD099fbbb+uOO+5w1ri7u2vevHnatWuXqlevLh8fHy1dulS9evVyOc+DDz6ouLg4NW/eXHfddZc+/vhjff3119q7d+9F840bN04BAQHOLSwsrPTejFLm7+WuW9sW5z+3qDEAAGVZXqFds9cUP0zm/k6RJqe5OmiOAQAAlGOBgYGy2WzKzMx02Z+ZmamQkJALHhMUFKT58+crJydHBw4c0I4dO+Tr66t69f5z20T9+vW1bNkynT59WqmpqVq3bp0KCwtdatq0aaOk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pWtLZ2enJk6cqLa2Nn388cdasWKFli9frgULFlhxSF6hO3mXpEceecTt/b548WLXNvIOT6LO8wzqvBuPOs861HmeR51nHZ+u9Qwua8yYMWbOnDmunzs7O01ycrJZtGiRhVH5loULF5r09PQut9XX15vg4GDz1ltvudYdOHDASDLFxcUeitD3SDLvvvuu62en02kSExPNiy++6FpXX19vQkJCzKpVq4wxxuzfv99IMtu2bXONef/9943NZjOVlZUei93bfTH3xhgzY8YMc//991/yNeT+2tXW1hpJZuPGjcaY7l1b/vSnP5mAgABTXV3tGvOrX/3KREVFmfPnz3v2ALzUF/NujDH33HOPefzxxy/5GvIOT6LOu/Go8zyPOs861HnWoM6zji/Vetw5dhltbW3asWOHsrOzXesCAgKUnZ2t4uJiCyPzPYcOHVJycrL69++vvLw8VVRUSJJ27Nih9vZ2t3MwZMgQ9enTh3NwHZWXl6u6utotz9HR0crMzHTlubi4WA6HQ6NGjXKNyc7OVkBAgEpKSjwes68pKipSfHy8Bg8erEcffVSnT592bSP3166hoUGSFBMTI6l715bi4mINHz5cCQkJrjE5OTlqbGzUvn37PBi99/pi3i94/fXXFRsbq2HDhik/P1/Nzc2ubeQdnkKd5znUedaizrMedd6NRZ1nHV+q9YIs+81e4NSpU+rs7HQ7aZKUkJCggwcPWhSV78nMzNTy5cs1ePBgVVVV6bnnntPdd9+tvXv3qrq6Wna7XQ6Hw+01CQkJqq6utiZgH3Qhl1291y9sq66uVnx8vNv2oKAgxcTEcC6u0YQJEzRlyhT169dPhw8f1tNPP63c3FwVFxcrMDCQ3F8jp9OpefPm6c4779SwYcMkqVvXlurq6i4/Exe24fK6yrskPfjgg0pNTVVycrJ2796t73//+yotLdU777wjibzDc6jzPIM6z3rUedaizruxqPOs42u1Hs0xWC43N9f17xEjRigzM1Opqal68803FRYWZmFkgGd885vfdP17+PDhGjFihNLS0lRUVKRx48ZZGJlvmDNnjvbu3es2xw1uvEvl/W/nUBk+fLiSkpI0btw4HT58WGlpaZ4OE8ANRp0Hf0edd2NR51nH12o9/lvlZcTGxiowMPCip1rU1NQoMTHRoqh8n8Ph0KBBg1RWVqbExES1tbWpvr7ebQzn4Pq6kMvLvdcTExMvmqC4o6NDdXV1nIvrrH///oqNjVVZWZkkcn8t5s6dq7Vr12rDhg1KSUlxre/OtSUxMbHLz8SFbbi0S+W9K5mZmZLk9n4n7/AE6jxrUOd5HnXezYU67/qhzrOOL9Z6NMcuw263KyMjQ4WFha51TqdThYWFysrKsjAy33b27FkdPnxYSUlJysjIUHBwsNs5KC0tVUVFBefgOurXr58SExPd8tzY2KiSkhJXnrOyslRfX68dO3a4xqxfv15Op9N1wcP1cfz4cZ0+fVpJSUmSyP3fwxijuXPn6t1339X69evVr18/t+3dubZkZWVpz549bgVrQUGBoqKiNHToUM8ciJe5Ut678umnn0qS2/udvMMTqPOsQZ3nedR5NxfqvGtHnWcdn671LHsUgJd44403TEhIiFm+fLnZv3+/mTVrlnE4HG5PVsC1efLJJ01RUZEpLy83H330kcnOzjaxsbGmtrbWGGPM7NmzTZ8+fcz69evN9u3bTVZWlsnKyrI4au/T1NRkdu3aZXbt2mUkmSVLlphdu3aZo0ePGmOM+clPfmIcDodZs2aN2b17t7n//vtNv379TEtLi2sfEyZMMLfffrspKSkxW7ZsMQMHDjTTp0+36pC8xuVy39TUZL73ve+Z4uJiU15ebj788ENzxx13mIEDB5rW1lbXPsj91Xn00UdNdHS0KSoqMlVVVa6lubnZNeZK15aOjg4zbNgwM378ePPpp5+adevWmbi4OJOfn2/FIXmFK+W9rKzMPP/882b79u2mvLzcrFmzxvTv39+MHTvWtQ/yDk+izrvxqPM8gzrPOtR5nkedZx1frvVojnXDyy+/bPr06WPsdrsZM2aM+eSTT6wOyadMmzbNJCUlGbvdbnr16mWmTZtmysrKXNtbWlrMd77zHdOzZ08THh5uJk+ebKqqqiyM2Dtt2LDBSLpomTFjhjHm88d8//CHPzQJCQkmJCTEjBs3zpSWlrrt4/Tp02b69OmmR48eJioqysycOdM0NTVZcDTe5XK5b25uNuPHjzdxcXEmODjYpKammkceeeSiL2bk/up0lW9J5je/+Y1rTHeuLZ999pnJzc01YWFhJjY21jz55JOmvb3dw0fjPa6U94qKCjN27FgTExNjQkJCzIABA8z8+fNNQ0OD237IOzyJOu/Gos7zDOo861DneR51nnV8udazGWPM9b8fDQAAAAAAALj5MecYAAAAAAAA/BbNMQAAAAAAAPgtmmMAAAAAAADwWzTHAAAAAAAA4LdojgEAAAAAAMBv0RwDAAAAAACA36I5BgAAAAAAAL9FcwwAAAAAAAB+i+YYAAAAAAAA/BbNMQAAAAAAAPgtmmMAAAAAAADwWzTHAAAAAAAA4Lf+DwJIIxajDL2SAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_shift = window_len // frame_len  # 帧移数\n",
    "\n",
    "output_asym = np.zeros(frame_len)\n",
    "output_sym = np.zeros(frame_len)\n",
    "for i in range(num_shift):\n",
    "    # 从后往前取一帧\n",
    "    output_asym += analysis_window_sycle[i * frame_len: (i + 1) * frame_len]\n",
    "    output_sym += analysis_window_sym[i * frame_len: (i + 1) * frame_len]\n",
    "\n",
    "plt.figure(figsize=(15, 5))\n",
    "plt.subplot(1, 2, 1)\n",
    "plt.title('asym window')\n",
    "plt.plot(output_asym)\n",
    "plt.subplot(1, 2, 2)\n",
    "plt.title('sym window')\n",
    "plt.plot(output_sym)\n",
    "# 设置纵坐标范围\n",
    "# plt.ylim(0, 1.1)\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-05-04T16:11:39.030753200Z",
     "start_time": "2024-05-04T16:11:38.575674Z"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-05-04T16:11:39.030753200Z",
     "start_time": "2024-05-04T16:11:39.009810100Z"
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-05-04T16:11:39.030753200Z",
     "start_time": "2024-05-04T16:11:39.010809400Z"
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
